/**
 * Copyright(c) 2013 Jade Techonologies Co., Ltd.
 *
 * History:
 *   13-4-14 下午11:23 Created by dwzhang
 */
package com.jade.framework.base.pattern.pipeline;

/**
 * 处理阀门。
 *
 * @author dwzhang
 * @version 1.0 13-4-14 下午11:23
 */
public abstract class Valve<Context, E extends Exception>
{
    /**
     * 阀门处理接口。根据context中的信息，进行处理。ValveChain用于控制
     * 是否需要执行下一个阀门.
     *
     * @param context 阀门上下文
     * @param chain   阀门控制链,控制是否需要继续执行管道中的阀门.
     * @throws E 处理异常
     */
    public abstract void handle(Context context, ValveChain<Context, E> chain)
            throws E;
}
